Restructuring Parallel Programs for On-the-Fly Race Detection
نویسندگان
چکیده
Detecting races is important for debugging explicit shared-memory parallel programs, because the races result in unintended non-deterministic executions of the programs. Previous on-they techniques to detect races in parallel programs with inter-thread coordination show serious space overhead in two components of complexity, and can not guarantee that, in an execution instance, the race detected rst is not preceded by accesses that also participate in a race. This paper presents a program restructuring technique for on-they race detection, which results in a serializable program preserving the semantics of original program. Monitoring an execution of the restructured program can detect the rst races in the original program, eliminating one component of the space complexity.
منابع مشابه
Parallel Loop Transformation Technique for Efficient Rate Detection
Races might result in unintended nondeterministic execution of parallel programs and thus race detection is one of the critical issues to be resolved in debugging of shared-memory parallel programs. On-the-fly race detection techniques have been developed as one of approaches for the problem. However on-the-fly race detection techniques suffer from the huge run-time overhead because in which th...
متن کاملEmpirical Comparison of Filtering Techniques for On-the-fly Data Race Detection in OpenMP Programs
It is a well-known that data races in implicit threading applications, such as OpenMP programs, are the most notorious class of concurrency bugs, because they may lead to unpredictable results of the program. The main drawback of on-the-fly data race detection techniques is the heavy additional overheads for analyzing every memory operations and thread operations, such as load, store, fork, and...
متن کاملOn-the-fly Detection of the First Races in Programs with Nested Parallelism
Detecting races is important for debugging shared-memory parallel programs , because the races result in unintended nondeterministic executions of the programs. Previous on-they techniques to detect races in programs with nested parallelism cannot guarantee that the race detected rst is not preceded by events that also participate in a race (occurred rst in our terminology). This paper presents...
متن کاملTARDIS: Task-level Access Race Detection by Intersecting Sets
A data race detector aids in the debugging of parallel programs, and may help to ensure determinism in a language that also excludes synchronization races. Most existing race detectors use shadow memory to track references to shared data on the fly. An attractive alternative, particularly in languages with constrained, split-merge parallelism, is to record access sets in each concurrent task, a...
متن کاملNon-intrusive on-the-fly data race detection using execution replay
This paper presents a practical solution for detecting data races in parallel programs. The solution consists of a combination of execution replay (RecPlay) with automatic on-the-fly data race detection. This combination enables us to perform the data race detection on an unaltered execution (almost no probe effect). Furthermore, the usage of multilevel bitmaps and snooped matrix clocks limits ...
متن کامل